package br.com.exemplo.swing;
import java.awt.BorderLayout;
import java.io.File;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
 
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
 
import com.sun.jna.NativeLibrary;
 
@SuppressWarnings("serial")
class PlayerPanel extends JPanel {
 
  private File vlcInstallPath = new File("C:\\Program Files\\VideoLAN\\VLC");
	private EmbeddedMediaPlayer player;
 
	public PlayerPanel() {
		System.out.println(">>>" + vlcInstallPath.getAbsolutePath());
		NativeLibrary.addSearchPath("libvlc", vlcInstallPath.getAbsolutePath());
		EmbeddedMediaPlayerComponent videoCanvas = new EmbeddedMediaPlayerComponent();
		this.setLayout(new BorderLayout());
		this.add(videoCanvas, BorderLayout.CENTER);
		this.player = videoCanvas.getMediaPlayer();
	}
 
	public void play(String media) {
		player.prepareMedia(media);
		player.parseMedia();
		player.play();
	}
}
 
@SuppressWarnings("serial")
public class ExemploVideoPlayer extends JFrame {
 
	public ExemploVideoPlayer() {
		PlayerPanel player = new PlayerPanel();
		this.setTitle("Exemplo Video Player");
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setLayout(new BorderLayout());
		this.setSize(640, 480);
		this.setLocationRelativeTo(null);
		this.add(player, BorderLayout.CENTER);
		this.validate();
		this.setVisible(true);
 
		player.play("Q:\\video.txt");
	}
 
	public static void main(String[] args) {
		new ExemploVideoPlayer();
	}
}